/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package org.apli.haiam.ejb.entidades;

import java.io.Serializable;
import java.util.Date;
import java.util.List;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 *
 * @author Informática
 */
@Entity
@Table(name = "hos_registro_detalle")
@NamedQueries({
    @NamedQuery(name = "HosRegistroDetalle.findAll", query = "SELECT h FROM HosRegistroDetalle h")})
public class HosRegistroDetalle implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @Column(name = "hrd_id")
    private Integer hrdId;
    @Basic(optional = false)
    @Column(name = "hrd_id_usuario")
    private int hrdIdUsuario;
    @Basic(optional = false)
    @Column(name = "hrd_nombre_usuario")
    private String hrdNombreUsuario;
    @Basic(optional = false)
    @Column(name = "hrd_estado")
    private int hrdEstado;
    @Basic(optional = false)
    @Column(name = "hrd_cama")
    private int hrdCama;
    @Column(name = "hrd_hora_ingreso")
    @Temporal(TemporalType.TIME)
    private Date hrdHoraIngreso;
    @Column(name = "hrd_hora_salida")
    @Temporal(TemporalType.TIME)
    private Date hrdHoraSalida;
    @Column(name = "hrd_hora_trans")
    @Temporal(TemporalType.TIME)
    private Date hrdHoraTrans;
    @Column(name = "hrd_hora_defuncion")
    @Temporal(TemporalType.TIME)
    private Date hrdHoraDefuncion;
    @Column(name = "hrd_sala")
    private Integer hrdSala;
    @Column(name = "hrd_fecha")
    @Temporal(TemporalType.DATE)
    private Date hrdFecha;
    @OneToMany(mappedBy = "hosRegistroDetalle", fetch = FetchType.LAZY)
    private List<HosInternacion> hosInternacionList;
    @OneToMany(mappedBy = "hosRegistroDetalle", fetch = FetchType.LAZY)
    private List<HosAlta> hosAltaList;
    @OneToMany(mappedBy = "hosRegistroDetalle", fetch = FetchType.LAZY)
    private List<FarReceta> farRecetaList;
    @OneToMany(mappedBy = "hosRegistroDetalle", fetch = FetchType.LAZY)
    private List<HosCirugiaProgramada> hosCirugiaProgramadaList;
    @JoinColumn(name = "hrc_id", referencedColumnName = "hrc_id")
    @ManyToOne(fetch = FetchType.LAZY)
    private HosReferenciaContrareferencia hosReferenciaContrareferencia;
    @JoinColumn(name = "fse_id", referencedColumnName = "fse_id")
    @ManyToOne(fetch = FetchType.LAZY)
    private FarServicio farServicio;

    public HosRegistroDetalle() {
    }

    public HosRegistroDetalle(Integer hrdId) {
        this.hrdId = hrdId;
    }

    public HosRegistroDetalle(Integer hrdId, int hrdIdUsuario, String hrdNombreUsuario, int hrdEstado, int hrdCama) {
        this.hrdId = hrdId;
        this.hrdIdUsuario = hrdIdUsuario;
        this.hrdNombreUsuario = hrdNombreUsuario;
        this.hrdEstado = hrdEstado;
        this.hrdCama = hrdCama;
    }

    public Integer getHrdId() {
        return hrdId;
    }

    public void setHrdId(Integer hrdId) {
        this.hrdId = hrdId;
    }

    public int getHrdIdUsuario() {
        return hrdIdUsuario;
    }

    public void setHrdIdUsuario(int hrdIdUsuario) {
        this.hrdIdUsuario = hrdIdUsuario;
    }

    public String getHrdNombreUsuario() {
        return hrdNombreUsuario;
    }

    public void setHrdNombreUsuario(String hrdNombreUsuario) {
        this.hrdNombreUsuario = hrdNombreUsuario;
    }

    public int getHrdEstado() {
        return hrdEstado;
    }

    public void setHrdEstado(int hrdEstado) {
        this.hrdEstado = hrdEstado;
    }

    public int getHrdCama() {
        return hrdCama;
    }

    public void setHrdCama(int hrdCama) {
        this.hrdCama = hrdCama;
    }

    public Date getHrdHoraIngreso() {
        return hrdHoraIngreso;
    }

    public void setHrdHoraIngreso(Date hrdHoraIngreso) {
        this.hrdHoraIngreso = hrdHoraIngreso;
    }

    public Date getHrdHoraSalida() {
        return hrdHoraSalida;
    }

    public void setHrdHoraSalida(Date hrdHoraSalida) {
        this.hrdHoraSalida = hrdHoraSalida;
    }

    public Date getHrdHoraTrans() {
        return hrdHoraTrans;
    }

    public void setHrdHoraTrans(Date hrdHoraTrans) {
        this.hrdHoraTrans = hrdHoraTrans;
    }

    public Date getHrdHoraDefuncion() {
        return hrdHoraDefuncion;
    }

    public void setHrdHoraDefuncion(Date hrdHoraDefuncion) {
        this.hrdHoraDefuncion = hrdHoraDefuncion;
    }

    public Integer getHrdSala() {
        return hrdSala;
    }

    public void setHrdSala(Integer hrdSala) {
        this.hrdSala = hrdSala;
    }

    public Date getHrdFecha() {
        return hrdFecha;
    }

    public void setHrdFecha(Date hrdFecha) {
        this.hrdFecha = hrdFecha;
    }

    public List<HosInternacion> getHosInternacionList() {
        return hosInternacionList;
    }

    public void setHosInternacionList(List<HosInternacion> hosInternacionList) {
        this.hosInternacionList = hosInternacionList;
    }

    public List<HosAlta> getHosAltaList() {
        return hosAltaList;
    }

    public void setHosAltaList(List<HosAlta> hosAltaList) {
        this.hosAltaList = hosAltaList;
    }

    public List<FarReceta> getFarRecetaList() {
        return farRecetaList;
    }

    public void setFarRecetaList(List<FarReceta> farRecetaList) {
        this.farRecetaList = farRecetaList;
    }

    public List<HosCirugiaProgramada> getHosCirugiaProgramadaList() {
        return hosCirugiaProgramadaList;
    }

    public void setHosCirugiaProgramadaList(List<HosCirugiaProgramada> hosCirugiaProgramadaList) {
        this.hosCirugiaProgramadaList = hosCirugiaProgramadaList;
    }

    public HosReferenciaContrareferencia getHosReferenciaContrareferencia() {
        return hosReferenciaContrareferencia;
    }

    public void setHosReferenciaContrareferencia(HosReferenciaContrareferencia hosReferenciaContrareferencia) {
        this.hosReferenciaContrareferencia = hosReferenciaContrareferencia;
    }

    public FarServicio getFarServicio() {
        return farServicio;
    }

    public void setFarServicio(FarServicio farServicio) {
        this.farServicio = farServicio;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (hrdId != null ? hrdId.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof HosRegistroDetalle)) {
            return false;
        }
        HosRegistroDetalle other = (HosRegistroDetalle) object;
        if ((this.hrdId == null && other.hrdId != null) || (this.hrdId != null && !this.hrdId.equals(other.hrdId))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "newpackage.HosRegistroDetalle[ hrdId=" + hrdId + " ]";
    }
    
}
